<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>
<body>
  <script>
    /* 
      什么是回调？我们定义的，我们没有调用，最终执行了
      1.同步回调
        理解：立即在主线程中执行，不会放入到回调队列中
        例子：数组遍历相关的回调函数
      2.异步回调
        理解：不会立即执行，会放入回调队列中以后在执行
        例子：定时器回调、ajax回调，promise的成功，失败的回调
    */

    // 演示同步的回调函数
    let arr = [1,2,3,4,5]
    // forEach不是回调，因为forEach不是我们定义的，是我们调用了forEach方法,调用forEach传入的函数是回调
    arr.forEach((item) => {
      console.log(item);
    })
  </script>
</body>
</html>